// ==========================【数据】=====================
//1.1受捐企业数组 -----------------------------------
let listOrgs = [];

//1.2捐款数据数组-------------------------------------
let listMoney = [];
//1.2.1为捐款数组扩展一个更新数据方法，返回bool -> 更新结果
listMoney.modify = function(dataObj) {
    // a.根据id查找对象
    let target = this.find(e => e.id == dataObj.id);
    // ｂ．如果找到，则修改
    if (target) {
        target.pname = dataObj.pname;
        target.orgId = dataObj.orgId;
        target.money = dataObj.money;
        target.date = dataObj.date;
        return true;
    }
    return false;
};

//1.2.2为捐款数组扩展一个删除方法
listMoney.deleteById = function(id) {
    //a.根据id找到要删除的元素的下标
    var delIndex = this.findIndex(e => e.id == id);
    //b.根据要删除的下标
    delIndex > -1 && this.splice(delIndex, 1);
};

//1.2.3为捐款数组扩展两个新增方法
// 新增元素，并返回 添加了 id 的本元素
listMoney.add = function(pname, orgId, money, date) {
    let newObj = {
        pname: pname,
        orgId: orgId,
        money: money,
        date: date,
    };
    return this.addObj(newObj);
};
// 新增元素，并返回 添加了 id 的本元素
listMoney.addObj = function(dataObj) {
    var newObj = {
        id: this.length == 0 ? 1 : this[this.length - 1].id + 1,
        pname: dataObj.pname,
        orgId: dataObj.orgId,
        money: dataObj.money,
        date: dataObj.date,
        isSelect: false,
    };
    //为数组追加一个新元素
    this.push(newObj);
    return newObj;
};

//1.2.4根据 受捐企业 id 查询其捐款数据
listMoney.findMoneyByOrgId = function(orgId) {
    let resultArr = []; //保存 查询到的 捐款数据
    //遍历 当前捐款数组
    for (var i = 0; i < this.length; i++) {
        //查找 捐款的受捐企业 为 被搜索的 单位id一致 的捐款
        if (this[i].orgId == orgId || orgId == -1) {
            //如果 orgId为-1，则加入所有的 捐款
            resultArr.push(this[i]); //将 此笔捐款 加入搜索结果 数组
        }
    }
    return resultArr; //返回结果数组
};

// 按需导出 db 对象（需要 按需导入）
// import {db} from '@/db'
export const db = {
    listOrgs,
    listMoney,
};